@import "../styles/variables";

.breadcrumb {
  font-size: $text-sm;
}

.project-header-card {
  background-color: $card-bg;
  border-radius: $radius-lg;
  box-shadow: $shadow-sm;
  padding: $spacing-6;
}

.project-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  @media (max-width: $breakpoint-md) {
    flex-direction: column;
    gap: $spacing-4;
  }
}

.project-info {
  flex: 1;
}

.project-title-container {
  display: flex;
  align-items: center;
  gap: $spacing-4;
  margin-bottom: $spacing-4;
}

.project-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  font-size: 20px;
}

.project-title {
  font-weight: $font-semibold;
}

.project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: $spacing-2;
  margin-top: $spacing-1;
}

.tag-icon {
  margin-right: 4px;
}

.project-description {
  font-size: $text-sm;
  display: block;
  margin-top: $spacing-3;
}

.project-actions {
  display: flex;
  gap: $spacing-2;
}

.divider {
  margin: $spacing-4 0;
}

.project-stats {
  display: flex;
  align-items: center;
}

.stat-item {
  display: flex;
  align-items: baseline;
  gap: $spacing-2;
}

.stat-value {
  font-size: $text-xl;
  font-weight: $font-semibold;
}

.stat-label {
  font-size: $text-sm;
  color: $text-secondary;
}

.hosts-card {
  border-radius: $radius-lg;
  box-shadow: $shadow-sm;
}

.hosts-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: $spacing-4 $spacing-6;
}

.hosts-card-title {
  font-weight: $font-medium;
}

.view-mode-selector {
  display: flex;
  gap: $spacing-2;
}

.view-mode-button {
  &.active {
    background-color: #f5f5f5;
  }
}

.filter-container {
  padding: 0 $spacing-6 $spacing-4;
}

.filter-controls {
  display: flex;
  flex-wrap: wrap;
  gap: $spacing-3;
  align-items: center;

  @media (max-width: $breakpoint-md) {
    flex-direction: column;
    align-items: stretch;

    .filter-input,
    .filter-select {
      width: 100% !important;
    }
  }
}

.filter-input {
  width: 240px;
}

.filter-select {
  width: 180px;
}

.search-icon {
  color: $text-tertiary;
}

.hosts-content {
  padding: 0 $spacing-6 $spacing-6;
}

.hosts-table {
  border-radius: $radius-md;
  overflow: hidden;
}

.hosts-name {
  font-weight: $font-medium;
}

.content-preview {
  font-family: monospace;
  font-size: $text-xs;
  line-height: 1.4;
  background-color: #f5f5f5;
  padding: $spacing-2;
  border-radius: $radius-md;
  max-height: 48px;
  overflow: hidden;
}

.comment-line {
  color: $text-tertiary;
}

.more-indicator {
  color: $text-tertiary;
}

.hosts-description {
  font-size: $text-xs;
  color: $text-secondary;
}

.table-actions {
  display: flex;
  gap: $spacing-1;
}

.hosts-block-card {
  height: 100%;
  padding: $spacing-4;

  &:hover {
    box-shadow: $shadow-md;
  }
}

.hosts-block-header {
  display: flex;
  gap: $spacing-3;
  margin-bottom: $spacing-3;
}

.hosts-block-icon {
  flex-shrink: 0;
}

.hosts-block-info {
  flex: 1;
  min-width: 0;
}

.hosts-block-title {
  font-size: $text-base;
  font-weight: $font-medium;
  margin-bottom: $spacing-2;
  color: $text;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hosts-block-description {
  font-size: $text-sm;
  color: $text-secondary;
  margin-bottom: $spacing-3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hosts-block-content {
  font-family: monospace;
  font-size: $text-xs;
  line-height: 1.4;
  background-color: #f5f5f5;
  padding: $spacing-3;
  border-radius: $radius-md;
  max-height: 96px;
  overflow: hidden;
  margin-bottom: $spacing-3;
}

.hosts-block-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: $spacing-3;
  border-top: 1px solid $border;
}

.hosts-block-date {
  font-size: $text-xs;
  color: $text-tertiary;
}

.hosts-block-actions {
  display: flex;
  gap: $spacing-1;
}

.action-button {
  color: $text-secondary;
}

.action-button-danger {
  color: $danger;
}

.empty-container {
  background-color: $card-bg;
  border-radius: $radius-lg;
  box-shadow: $shadow-sm;
  padding: $spacing-8;
  text-align: center;
}

.loading-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 300px;
}

@media (max-width: $breakpoint-md) {
  .project-actions {
    align-self: flex-start;
  }
}
